package com.song.eureka.consumer.feign.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import com.song.eureka.consumer.feign.client.IDcClient;

/**
 * 
 * @description : 通过定义的feign客户端来调用服务提供方的接口
 * 通过Spring Cloud Feign来实现服务调用的方式更加简单了，通过@FeignClient定义的接口来统一的生命我们需要依赖的微服务接口。
 * 而在具体使用的时候就跟调用本地方法一点的进行调用即可。由于Feign是基于Ribbon实现的，所以它自带了客户端负载均衡功能，也可以通过Ribbon的IRule进行策略扩展。
 * 另外，Feign还整合的Hystrix来实现服务的容错保护，在Dalston版本中，Feign的Hystrix默认是关闭的。
 * @date        : 2018-08-08 18:51
 * @author      : leoSong
 *
 */
@RestController
public class DcController {
  @Autowired
  IDcClient dcClient;

  @GetMapping("/consumer")
  public String dc() {
      String resp = dcClient.consumer();
      System.out.println(resp);
      return resp;
  }
}
